Mobile-to-Mobile calls (MMCs) typically require that a speech signal is digitally encoded in the originating mobile user device, sent over a first interface, transcoded into PCM (Pulse Code Modulation) encoded speech by a first transcoder unit in a mobile network, carried over the mobile network, transcoded again by a second transcoder unit, sent over a second air interface and is finally decoded in the terminating mobile user device. A similar situation arises for MOCs (Mobile Originating Calls) or MTCs (Mobile Terminating Calls), in which the call path includes a gateway node connected to a PSTN (Public Switched Telecommunications Network). Call paths comprising a higher number of transcoding steps frequently occur, for example in case the call path extends over several PLMNs (Public Land Mobile Networks). Besides speech, also other content data may be subjected to transcoding, for example video data.
Regarding speech, a common speech codec (the term “codec” refers to a coding-decoding mechanism for performing encoding and decoding on a digital data stream) has to be established between each pair of transcoder units along the call path. An explicit establishment procedure may be omitted only in case both transcoder units intend to establish a default codec, for example the PCM G.711 codec. In general, the number of transcoding steps in a call path should be minimized to maintain a high speech quality and to reduce transcoding costs.
An example of a procedure in this respect is the Tandem-Free Operation (TFO) as defined by the 3GPP (3rd Generation Partnership Project) in its TS (Technical Specification) 28.062, which specifies a codec establishment procedure that avoids transcoding between two peering transcoder units in case the speech codecs used upstream and downstream of the two TFO partners are at least compatible (or even identical) to each other. A TFO protocol provides for an in-band signalling mechanism between the two transcoder units. In case the TFO protocol ended in TFO state OPERATION, each transcoder unit receives speech frames and forwards them without a transcoding step to the TFO partner. TFO works purely in-band in a PCM link, i.e. after the call path has been established
Another example of a codec establishment procedure that avoids unnecessary transcoding steps is Out-Of-Band Transcoder Control (OoBTC) as defined in the 3GPP TS 23.153. OoBTC provides a mechanism that uses an out-of-band codec negotiation procedure between the call control nodes which control transcoder units along the call path for negotiating common codecs for the section of the call path controlled by the control nodes. In case of successful negotiation (e.g., a common codec has been found), no transcoder unit is included in this section of the call path. For signalling codec information, for example the BICC (Bearer Independent Call Control) protocol specified in the 3GPP TS 32.205 or the SIP (Session Initiation Protocol) as defined by the IETF (Internet Engineering Task Force) in RFC (Request For Comment) 3261 may be used.
OoBTC is used before call setup and attempts to establish a Transcoder Free Operation (TrFO). If OoBTC fails to establish a TrFO (e.g., only the default codec PCM has been agreed upon), then the in-band TFO mechanism may be tried after call-setup. In case TFO can be established, the call path will include the transcoder units, but the transcoder units do not perform any transcoding operations. Therefore, a call path extending over a core network of one or more mobile networks may consist of sections including transcoding free links (TrFL), of sections including tandem-free links (TFOL) and of further sections, in which neither TFO nor TrFO is in operation.
The above-described codec establishment procedures act locally in a section of the call path to minimize the number of transcoding steps, i.e. codec optimization is performed basically between peering units (TFO) or along a section of the call path in which the same codec negotiation procedure is used (OoBTC, TrFO). A call path section is defined herein as designating a part of a call path along which the usage of a particular codec establishment procedure has established a specific codec.
Performing individual codec establishment procedures along different call path sections may lead to establishment of locally optimal codecs. However, no globally optimal codec (or codec combination) may be found for the call path as a whole. As an example, the interaction of different codec establishment procedures (e.g., OoBTC before call setup and TFO after call setup) may lead to the drop of codec-related information or to an incorrect or incomplete transmission of such codec information.
Further, the interaction between OoBTC and TFO after call establishment may lead to a couple of codec type modifications along at least some of the sections of the call path. However, each codec modification after call establishment impacts the speech quality due to interruptions and change of transcodings. Further, it is not guaranteed that intermediate states during the codec modification procedures result in better speech quality. Still further, it is not guaranteed that this interaction results in a stable codec selection (or codec combination) at all, but the interaction may result in cyclic changes between at least two speech codecs. This may even lead to the release of the call.
There is a need for a technique allowing the establishment of a codec (or codec combination) along a call path, wherein the selected codec(s) is/are globally optimized in terms of at least one optimization criterion such as speech quality, bandwidth requirements, transcoding resources and similar operator requirements.